// 共享邮箱生成工具

/** 生成更真实的随机域名邮箱 */
export function generateRandomProviderEmail(): string {
  const domains = [
    'gmail.com',
    'outlook.com',
    'hotmail.com',
    'yahoo.com',
    'icloud.com',
    'proton.me',
    'aol.com',
    'gmx.com',
    'qq.com',
    '163.com',
    '126.com',
    'sina.com',
    'yeah.net',
  ]
  const userPart = Math.random().toString(36).substring(2, 12)
  const domain = domains[Math.floor(Math.random() * domains.length)]
  return `${userPart}@${domain}`
}

/** 生成 2925 子邮箱（纯字母数字后缀，不含符号） */
export function generate2925ChildEmail(tagLength: number = 8): string {
  const raw = Math.random().toString(36).replace(/[^a-z0-9]/gi, '')
  const tag = raw.substring(2, 2 + Math.max(1, tagLength))
  return `zhzr516688${tag}@2925.com`
}

/**
 * 通用邮箱生成器
 * - fixed 有效时优先固定邮箱
 * - use2925 为 true 时用 2925 子邮箱
 * - 否则生成随机提供商邮箱
 */
export function generateEmail(options?: { fixed?: string, use2925?: boolean }): string {
  if (options?.fixed && options.fixed.includes('@'))
    return options.fixed
  if (options?.use2925)
    return generate2925ChildEmail()
  return generateRandomProviderEmail()
}
